import io from 'socket.io-client'
export default {
  install: (app, { connection = 'http://43.138.15.137:3000', options = {} } = {}) => {
    const defaultOptions = {
      autoConnect: false, // 手动控制连接（登录后再连接，更安全）
      reconnection: true, // 断开后自动重连
      reconnectionAttempts: 5, // 最大重连次数
      reconnectionDelay: 1000, // 重连间隔（毫秒）
      ...options // 用户传入的配置覆盖默认
    }
    const socket = io(connection, defaultOptions)
    socket.on('connect', () => {
      console.log('Socket 连接成功，ID:', socket.id);
    });
    socket.on('disconnect', (reason) => {
      console.log('Socket 断开连接，原因:', reason);
      // 如果是意外断开，自动重连（依赖上面的 reconnection: true）
      if (reason === 'io server disconnect') {
        socket.connect(); // 服务器主动断开时，手动重连
      }
    });
    socket.on('connect_error', (error) => {
      console.error('Socket 连接失败:', error.message);
    });
    app.config.globalProperties.$socket = socket;
    // 依赖注入（方便在 setup 中通过 inject('socket') 访问）
    app.provide('socket', socket);
  }
}